﻿<UserControl x:Class="SilverlightMultiLevelNavigationExample.MainPage"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:navigation="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation"
             xmlns:uriMapper="clr-namespace:System.Windows.Navigation;assembly=System.Windows.Controls.Navigation"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             xmlns:local="clr-namespace:SilverlightMultiLevelNavigationExample"
             mc:Ignorable="d"
             d:DesignWidth="640"
             d:DesignHeight="480">

    <Grid x:Name="LayoutRoot"
          Style="{StaticResource LayoutRootGridStyle}">
        <Grid.Resources>
            <local:Navigation x:Key="NavigationDataSource" />
        </Grid.Resources>

            <Border x:Name="ContentBorder"
                Style="{StaticResource ContentBorderStyle}">

            <navigation:Frame x:Name="ContentFrame"
                              Style="{StaticResource ContentFrameStyle}"
                              Source="/Home"
                              Navigated="ContentFrame_Navigated"
                              NavigationFailed="ContentFrame_NavigationFailed">
                <navigation:Frame.UriMapper>
                    <uriMapper:UriMapper>
                        <uriMapper:UriMapping Uri=""
                                              MappedUri="/Views/Home.xaml" />
                        <uriMapper:UriMapping Uri="/{pageName}"
                                              MappedUri="/Views/{pageName}.xaml" />
                    </uriMapper:UriMapper>
                </navigation:Frame.UriMapper>
            </navigation:Frame>
        </Border>

        <Grid x:Name="NavigationGrid"
              Style="{StaticResource NavigationGridStyle}">
            <Grid.RowDefinitions>
                <RowDefinition Height="42*" />
                <RowDefinition Height="20*" />
            </Grid.RowDefinitions>

            <Border x:Name="BrandingBorder"
                    Style="{StaticResource BrandingBorderStyle}"
                    Margin="25,0,0,0"
                    Grid.Row="0"
                    Grid.RowSpan="1">
                <StackPanel x:Name="BrandingStackPanel"
                            Style="{StaticResource BrandingStackPanelStyle}">

                    <ContentControl Style="{StaticResource LogoIcon}" />
                    <TextBlock x:Name="ApplicationNameTextBlock"
                               Style="{StaticResource ApplicationNameStyle}"
                               Text="My Application" />

                </StackPanel>
            </Border>
            <Border x:Name="MainMenuBorder"
                    Style="{StaticResource LinksBorderStyle}"
                    Grid.Row="0"
                    Grid.RowSpan="1">
                <ItemsControl x:Name="MainMenu"
                              ItemsSource="{StaticResource NavigationDataSource}"
                              HorizontalAlignment="Left">
                    <ItemsControl.ItemTemplate>
                        <DataTemplate>
                            <HyperlinkButton Content="{Binding Name}"
                                             NavigateUri="{Binding Url}"
                                             Style="{StaticResource LinkStyle}"
                                             Click="HyperlinkButton_Click" />
                        </DataTemplate>
                    </ItemsControl.ItemTemplate>
                    <ItemsControl.ItemsPanel>
                        <ItemsPanelTemplate>
                            <StackPanel Style="{StaticResource LinksStackPanelStyle}"
                                        HorizontalAlignment="Left" />
                        </ItemsPanelTemplate>
                    </ItemsControl.ItemsPanel>
                </ItemsControl>
            </Border>
            <Border x:Name="SubMenuBorder"
                    Style="{StaticResource LinksBorderStyle}"
                    Height="20"
                    Grid.Row="1"
                    Grid.RowSpan="1">
                <ItemsControl x:Name="SubMenu"
                              Visibility="Collapsed">
                    <ItemsControl.ItemTemplate>
                        <DataTemplate>
                            <HyperlinkButton Content="{Binding Name}"
                                             NavigateUri="{Binding Url}"
                                             TargetName="ContentFrame"
                                             Style="{StaticResource LinkStyle}" />
                        </DataTemplate>
                    </ItemsControl.ItemTemplate>
                    <ItemsControl.ItemsPanel>
                        <ItemsPanelTemplate>
                            <StackPanel Style="{StaticResource LinksStackPanelStyle}"
                                        VerticalAlignment="Center"
                                        HorizontalAlignment="Left" />
                        </ItemsPanelTemplate>
                    </ItemsControl.ItemsPanel>
                </ItemsControl>
            </Border>

        </Grid>

    </Grid>

</UserControl>